package org.saratogaschools.edd.firefighter.shared;

import java.util.List;

import org.saratogaschools.edd.firefighter.shared.model.Department;
import org.saratogaschools.edd.firefighter.shared.model.Fire;
import org.saratogaschools.edd.firefighter.shared.model.FireFighter;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface FireFighterServiceAsync {

	void getFireFighter(AsyncCallback<FireFighter> callback);

	void getDepartmentList(AsyncCallback<List<Department>> callback);

	void registerFireFighter(
			FireFighter registrationCandidate,
			AsyncCallback<FireFighter> asyncCallback);

	void addDepartment(Department department,
			AsyncCallback<Department> callback);
	
	void getDepartmentFromKey(String departmentKey, AsyncCallback<Department> callback);


	void addNewFire(Fire newFire,
			AsyncCallback<Void> callback);

	void getFiresFromDepartment(String departmentKey,
			AsyncCallback<List<Fire>> callback);

	void updateFire(Fire fire, AsyncCallback<Void> asyncCallback);

}
